package com.crmapi.pojo;

import com.crmapi.group.Save;
import com.crmapi.group.Update;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.util.List;

/**
 * (Contract)实体类
 *
 * @author makejava
 * @since 2023-11-28 11:42:56
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("合同实体类")
public class Contract {

    @NotBlank(message = "id不能为空",groups = {Update.class})
    private String id;

    @NotBlank(message = "合同编号不能为空",groups = {Save.class})
    private String code;
    @NotBlank(message = "合同名称不能为空",groups = {Save.class})
    private String name;
    /**
     * 1.待审批
	2.已通过
	3.被驳回
	4.已失效
     */
    private Integer status;
    /**
     * 1.销售合同
	2.生产合同
     */
    private Integer type;
    
    private Double amount;

    @NotBlank(message = "客户id不能为空",groups = {Save.class})
    private String customerId;

    @NotBlank(message = "客户姓名不能为空",groups = {Save.class})
    private String customerName;

    @NotBlank(message = "签订人不能为空",groups = {Save.class})
    private String user;

    @NotBlank(message = "产品id不能为空",groups = {Save.class})
    private String productId;

    @NotBlank(message = "产品名字不能为空",groups = {Save.class})
    private String productName;
    /**
     * 1.银行卡
	2.支付包
	3.微信
     */
    private Integer manner;

    private Double payback;

    private Double payment;

    @NotBlank(message = "签订时间不能为空",groups = {Save.class})
    private String beginDate;

    @NotBlank(message = "合同到期时间不能为空",groups = {Save.class})
    private String endDate;
    
    private String note;
    /**
     * 0.未删除
	1.已删除
     */
    private int isdel;
    
    private String createTime;
    
    private String updateTime;

    private String userCode;

    private List<Attachment> attachmentList;

    private List<Plan> planList;





















}

